home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1993…ch: Other People's Memory / ADC Developer CD (1993-03) (''Other People's Memory'')_iso / Dev.CD Mar 93.iso / System Software / QuickTime 1.5 / Interfaces / ImageCompression.a < prev    next >
Encoding:
Text File  |  1992-10-20  |  32.6 KB  |  758 lines  |  [TEXT/MPS ]

  1.  
  2. ; Created: Wednesday, August 14, 1991 9:35 AM
  3. ;
  4. ; File: ImageCompression.a
  5. ;
  6. ; Assembler Interface to the Macintosh Libraries
  7. ; Copyright Apple Computer, Inc. 1990-1991
  8. ; All Rights Reserved
  9. ;
  10. ;___________________________________________________________________________
  11.  IF &TYPE('__IncludingImageCompression__') = 'UNDEFINED' THEN
  12. __IncludingImageCompression__   SET 1
  13.  
  14.  
  15. gestaltCompressionMgr       EQU      'icmp'
  16. ; These are the bits that are set in the Component flags, and also in the codecInfo struct. 
  17. codecInfoDoes1              EQU      $1               ; codec can work with 1-bit pixels 
  18. codecInfoDoes2              EQU      $2               ; codec can work with 2-bit pixels 
  19. codecInfoDoes4              EQU      $4               ; codec can work with 4-bit pixels 
  20. codecInfoDoes8              EQU      $8               ; codec can work with 8-bit pixels 
  21. codecInfoDoes16             EQU      $10              ; codec can work with 16-bit pixels 
  22. codecInfoDoes32             EQU      $20              ; codec can work with 32-bit pixels 
  23. codecInfoDoesDither         EQU      $40              ; codec can do ditherMode 
  24. codecInfoDoesStretch        EQU      $80              ; codec can stretch to arbitrary sizes 
  25. codecInfoDoesShrink         EQU      $100             ; codec can shrink to arbitrary sizes 
  26. codecInfoDoesMask           EQU      $200             ; codec can mask to clipping regions 
  27.  
  28. codecInfoDoesTemporal       EQU      $400             ; codec can handle temporal redundancy 
  29.  
  30. codecInfoDoesDouble         EQU      $800             ; codec can stretch to double size exactly 
  31. codecInfoDoesQuad           EQU      $1000            ; codec can stretch to quadruple size exactly 
  32. codecInfoDoesHalf           EQU      $2000            ; codec can shrink to half size 
  33. codecInfoDoesQuarter        EQU      $4000            ; codec can shrink to quarter size 
  34.  
  35. codecInfoDoesRotate         EQU      $8000            ; codec can rotate on decompress 
  36. codecInfoDoesHorizFlip      EQU      $10000           ; codec can flip horizontally on decompress 
  37. codecInfoDoesVertFlip       EQU      $20000           ; codec can flip vertically on decompress 
  38. codecInfoDoesSkew           EQU      $40000           ; codec can skew on decompress 
  39. codecInfoDoesBlend          EQU      $80000           ; codec can blend on decompress 
  40. codecInfoDoesWarp           EQU      $100000          ; codec can warp arbitrarily on decompress 
  41. codecInfoDoesRecompress     EQU      $200000          ; codec can recompress image without accumulating errors 
  42. codecInfoDoesSpool            EQU         $400000          ; compressed data at 32 bpp depth available 
  43.  
  44. codecInfoDepth1             EQU      $1               ; compressed data at 1 bpp depth available 
  45. codecInfoDepth2             EQU      $2               ; compressed data at 2 bpp depth available 
  46. codecInfoDepth4             EQU      $4               ; compressed data at 4 bpp depth available 
  47. codecInfoDepth8             EQU      $8               ; compressed data at 8 bpp depth available 
  48. codecInfoDepth16            EQU      $10              ; compressed data at 16 bpp depth available 
  49. codecInfoDepth32            EQU      $20              ; compressed data at 32 bpp depth available 
  50. codecInfoDepth24            EQU      $40              ; compressed data at 24 bpp depth available 
  51. codecInfoDepth33            EQU      $80              ; compressed data at 1 bpp monochrome depth  available 
  52. codecInfoDepth34            EQU      $100             ; compressed data at 2 bpp grayscale depth available 
  53. codecInfoDepth36            EQU      $200             ; compressed data at 4 bpp grayscale depth available 
  54. codecInfoDepth40            EQU      $400             ; compressed data at 8 bpp grayscale depth available 
  55. codecInfoStoresClut         EQU      $800             ; compressed data can have custom cluts 
  56. codecInfoDoesLossless        EQU      $1000               ; compressed data can be stored in lossless format
  57.  
  58. codecFlagUseImageBuffer     EQU      $1               ; (input) allocate buffer for whole image on decompress sequence 
  59. codecFlagUseScreenBuffer    EQU      $2               ; (input) allocate buffer for screen on decompress sequence for faster updates 
  60. codecFlagUpdatePrevious     EQU      $4               ; (input) udate previous buffer on compress sequence 
  61. codecFlagNoScreenUpdate     EQU      $8               ; (input) dont update screen, but do update image buffer if allocated 
  62. codecFlagWasCompressed      EQU      $10              ; (input) hint to compressor that image was previously compressed 
  63. codecFlagDontOffscreen      EQU      $20              ; (input) return error instead of automatically going offscreen 
  64. codecFlagUpdatePreviousComp EQU      $40              ; (input) udate previous buffer on compress sequence 
  65. codecFlagForceKeyFrame      EQU      $80              ; (input) when sent to CompressSequenceFrame, forces that frame to be a key frame 
  66. codecFlagOnlyScreenUpdate    EQU      $100              ;    (input) only update screen from 
  67. codecFlagLiveGrab            EQU      $200              ; (input) data being compressed is from live source (speed is critical)
  68. codecFlagDontUseNewImageBuffer EQU     $400              ; (input) return error if image buffer is new or reallocated
  69. codecFlagInterlaceUpdate    EQU         $800              ; (input) use interlaced update
  70.  
  71.  
  72.  
  73. codecFlagUsedNewImageBuffer    EQU      $4000              ; (output) indicates that image buffer was first used on this decompress sequence 
  74. codecFlagUsedImageBuffer    EQU      $8000            ; (output) indicates that image buffer was used on this decompress sequence 
  75.  
  76. codecErr                    EQU      -8960            ; the codec returned an error 
  77. noCodecErr                  EQU      -8961            ; the specified codec could not be found 
  78. codecUnimpErr               EQU      -8962            ; this feature is not implemented by the specified codec 
  79. codecSizeErr                EQU      -8963
  80. codecScreenBufErr           EQU      -8964            ; the screen buffer could not be allocated 
  81. codecImageBufErr            EQU      -8965            ; the image buffer could not be allocated 
  82. codecSpoolErr               EQU      -8966            ; the compressed data must be in memory (spooling did not work) 
  83. codecAbortErr               EQU      -8967            ; the operation was aborted by the progress proc 
  84. codecWouldOffscreenErr      EQU      -8968            ; an offscreen access would have been used, but wasn't allowed because codecFlagDontOffscreen was set 
  85. codecBadDataErr             EQU      -8969            ; compressed data was found to have inconsistencies 
  86. codecDataVersErr            EQU      -8970            ; compressed data was of a format version that codec couldn't handle 
  87. codecConditionErr            EQU         -8972              ; codec can not do requested operation 
  88. codecOpenErr                EQU         -8973              ; the codec  could not be opened
  89.  
  90. codecMinimumDataSize        EQU      32768            ; The minimum data size for spooling in or out data 
  91.  
  92. compressorComponentType     EQU      'imco'           ; the type for "Components" which compress images 
  93. decompressorComponentType   EQU      'imdc'           ; the type for "Components" which decompress images 
  94.  
  95. defaultDither                EQU         0
  96. forceDither                    EQU         1
  97. suppressDither                EQU         2
  98.  
  99. codecLosslessQuality        EQU         $400
  100. codecMaxQuality                EQU         $3FF
  101. codecMinQuality                EQU         $000
  102. codecLowQuality                EQU         $100
  103. codecNormalQuality            EQU         $200
  104. codecHighQuality            EQU         $300
  105.  
  106. anyCodec                     EQU         0                  ; take first working codec of given type }
  107. bestSpeedCodec                EQU         -1                  ; take fastest codec of given type }
  108. bestFidelityCodec            EQU         -2                  ; take codec which is most accurate}
  109. bestCompressionCodec        EQU         -3                  ; take codec of given type that is most accurate }
  110.  
  111. codecCompletionSource       EQU      1                  ; asynchronous codec is done with source data 
  112. codecCompletionDest         EQU      2                  ; asynchronous codec is done with destination data  
  113.  
  114. codecProgressOpen           EQU      0
  115. codecProgressUpdatePercent  EQU      1
  116. codecProgressClose          EQU      2
  117.  
  118.  
  119. ProgressProcRecord          RECORD   0
  120. progressProc                DS.L     1
  121. progressRefCon              DS.L     1
  122. size                        EQU      *
  123.                             ENDR
  124.  
  125. CompletionProcRecord        RECORD   0
  126. completionProc              DS.L     1
  127. completionRefCon            DS.L     1
  128. size                        EQU      *
  129.                             ENDR
  130.  
  131. DataProcRecord              RECORD   0
  132. dataProc                    DS.L     1
  133. dataRefCon                  DS.L     1
  134. size                        EQU      *
  135.                             ENDR
  136.  
  137. FlushProcRecord             RECORD   0
  138. flushProc                   DS.L     1
  139. flushRefCon                 DS.L     1
  140. size                        EQU      *
  141.                             ENDR
  142.  
  143. ;    The ImageDescription is private data which is produced when an image or sequence 
  144. ;    is compressed. It fully describes the format of the compressed data.
  145. ImageDescription            RECORD   0
  146. idSize                      DS.L     1                   ; total size of ImageDescription including extra data ( CLUTs and other per sequence data 
  147. cType                       DS.L     1                  ; what kind of codec compressed this data 
  148. resvd1                      DS.L     1                ; reserved for apple use 
  149. resvd2                      DS.W     1                ; reserved for apple use 
  150. dataRefIndex                DS.W     1                ; set to zero 
  151. version                     DS.W     1                ; which version is this data 
  152. revisionLevel               DS.W     1                ; what version of that codec did this 
  153. vendor                      DS.L     1                ; whose  codec compressed this data 
  154. temporalQuality             DS.L     1                ; what was the temporal quality factor          
  155. spatialQuality              DS.L     1                  ; what was the spatial quality factor          
  156. width                       DS.W     1                ; how many pixels wide is this data 
  157. height                      DS.W     1                ; how many pixels high is this data 
  158. hRes                        DS.L     1                  ; horizontal resolution 
  159. vRes                        DS.L     1                ; vertical resolution 
  160. dataSize                    DS.L     1                ; if known, the size of data for this image descriptor 
  161. frameCount                  DS.W     1                ; number of frames this description applies to 
  162. name                        DS.B     32                  ; name of codec ( in case not installed ) 
  163. depth                       DS.W     1                ; what depth is this data (1-32) or ( 33-40 grayscale ) 
  164. clutID                      DS.W     1                ; clut id or if 0 clut follows  or -1 if no clut 
  165. size                        EQU      *
  166.                             ENDR
  167.  
  168. ;    The CodecInfo is the information returned as the codecInfo struct by a codec Component
  169. ;    to the codec manager or to the caller. It is specific to the particular codec
  170. ;    implementation and not to the codec type.
  171. CodecInfo                   RECORD   0
  172. typeName                    DS.B     32               ; name of the codec type i.e.: 'Apple Image Compression' 
  173. version                     DS.W     1                ; version of the codec data that this codec knows about 
  174. revisionLevel               DS.W     1                ; revision level of this codec i.e: 0x00010001 (1.0.1) 
  175. vendor                      DS.L     1                ; Maker of this codec i.e: 'appl' 
  176. decompressFlags             DS.L     1                ; codecInfo flags for decompression capabilities 
  177. compressFlags               DS.L     1                ; codecInfo flags for compression capabilities 
  178. formatFlags                 DS.L     1                ; codecInfo flags for compression format details 
  179. compressionAccuracy         DS.B     1                ; measure (1-255) of accuracy of this codec for compress (0 if unknown) 
  180. decompressionAccuracy       DS.B     1                ; measure (1-255) of accuracy of this codec for decompress (0 if unknown) 
  181. compressionSpeed            DS.W     1                ; ( millisecs for compressing 320x240 on base mac II) (0 if unknown) 
  182. decompressionSpeed          DS.W     1                ; ( millisecs for decompressing 320x240 on mac II)(0 if unknown) 
  183. compressionLevel            DS.B     1                ; measure (1-255) of compression level of this codec (0 if unknown) 
  184. resvd                       DS.B     1                ; pad 
  185. minimumHeight               DS.W     1                ; minimum height of image (block size) 
  186. minimumWidth                DS.W     1                ; minimum width of image (block size) 
  187. decompressPipelineLatency   DS.W     1                ; in milliseconds ( for asynchronous codecs ) 
  188. compressPipelineLatency     DS.W     1                ; in milliseconds ( for asynchronous codecs ) 
  189. privateData                 DS.L     1
  190. size                        EQU      *
  191.                             ENDR
  192.  
  193. ; Name list returned by GetCodecNameList. 
  194. CodecNameSpec               RECORD   0
  195. codec                       DS.L     1
  196. cType                       DS.L     1
  197. typeName                    DS.B     32
  198. name                        DS.L     1
  199. size                        EQU      *
  200.                             ENDR
  201.  
  202. CodecNameSpecList           RECORD   0
  203. count                       DS.W     1
  204. list                        DS.L     1
  205. size                        EQU      *
  206.                             ENDR
  207.  
  208. ;  Matrix stuff  
  209. MatrixRecord                RECORD   0
  210. matrix                      DS.L     3
  211. size                        EQU      *
  212.                             ENDR
  213.  
  214. FixedPoint                  RECORD   0
  215. x                           DS.L     1
  216. y                           DS.L     1
  217. size                        EQU      *
  218.                             ENDR
  219.  
  220. FixedRect                   RECORD   0
  221. left                        DS.L     1
  222. top                         DS.L     1
  223. right                       DS.L     1
  224. bottom                      DS.L     1
  225. size                        EQU      *
  226.                             ENDR
  227.  
  228.                             MACRO
  229.                             _CodecManagerVersion
  230.                             MOVEQ    #$00,D0
  231.                             DC.W         $AAA3        ; TB 02A3
  232.                             ENDM
  233.  
  234.                             MACRO
  235.                             _GetCodecNameList
  236.                             MOVEQ    #$01,D0
  237.                             DC.W         $AAA3        ; TB 02A3
  238.                             ENDM
  239.  
  240.                             MACRO
  241.                             _DisposeCodecNameList
  242.                             MOVEQ    #$0f,D0
  243.                             DC.W         $AAA3        ; TB 02A3
  244.                             ENDM
  245.  
  246.                             MACRO
  247.                             _GetCodecInfo
  248.                             MOVEQ    #$03,D0
  249.                             DC.W         $AAA3        ; TB 02A3
  250.                             ENDM
  251.  
  252.                             MACRO
  253.                             _GetMaxCompressionSize
  254.                             MOVEQ    #$04,D0
  255.                             DC.W         $AAA3        ; TB 02A3
  256.                             ENDM
  257.  
  258.                             MACRO
  259.                             _GetCompressionTime
  260.                             MOVEQ    #$05,D0
  261.                             DC.W         $AAA3        ; TB 02A3
  262.                             ENDM
  263.  
  264.                             MACRO
  265.                             _CompressImage
  266.                             MOVEQ    #$06,D0
  267.                             DC.W         $AAA3        ; TB 02A3
  268.                             ENDM
  269.  
  270.                             MACRO
  271.                             _FCompressImage
  272.                             MOVEQ    #$07,D0
  273.                             DC.W         $AAA3        ; TB 02A3
  274.                             ENDM
  275.  
  276.                             MACRO
  277.                             _DecompressImage
  278.                             MOVEQ    #$08,D0
  279.                             DC.W         $AAA3        ; TB 02A3
  280.                             ENDM
  281.  
  282.                             MACRO
  283.                             _FDecompressImage
  284.                             MOVEQ    #$09,D0
  285.                             DC.W         $AAA3        ; TB 02A3
  286.                             ENDM
  287.  
  288.                             MACRO
  289.                             _CompressSequenceBegin
  290.                             MOVEQ    #$0A,D0
  291.                             DC.W         $AAA3        ; TB 02A3
  292.                             ENDM
  293.  
  294.                             MACRO
  295.                             _CompressSequenceFrame
  296.                             MOVEQ    #$0B,D0
  297.                             DC.W         $AAA3        ; TB 02A3
  298.                             ENDM
  299.  
  300.                             MACRO
  301.                             _DecompressSequenceBegin
  302.                             MOVEQ    #$0D,D0
  303.                             DC.W         $AAA3        ; TB 02A3
  304.                             ENDM
  305.  
  306.                             MACRO
  307.                             _DecompressSequenceFrame
  308.                             MOVEQ    #$0E,D0
  309.                             DC.W         $AAA3        ; TB 02A3
  310.                             ENDM
  311.  
  312.                             MACRO
  313.                             _SetDSequenceMatrix
  314.                             MOVEQ    #$10,D0
  315.                             DC.W         $AAA3        ; TB 02A3
  316.                             ENDM
  317.  
  318.                             MACRO
  319.                             _SetDSequenceMatte
  320.                             MOVEQ    #$11,D0
  321.                             DC.W         $AAA3        ; TB 02A3
  322.                             ENDM
  323.  
  324.                             MACRO
  325.                             _SetDSequenceMask
  326.                             MOVEQ    #$12,D0
  327.                             DC.W         $AAA3        ; TB 02A3
  328.                             ENDM
  329.  
  330.                             MACRO
  331.                             _SetDSequenceTransferMode
  332.                             MOVEQ    #$13,D0
  333.                             DC.W         $AAA3        ; TB 02A3
  334.                             ENDM
  335.  
  336.                             MACRO
  337.                             _SetDSequenceDataProc
  338.                             MOVEQ    #$14,D0
  339.                             DC.W         $AAA3        ; TB 02A3
  340.                             ENDM
  341.  
  342.                             MACRO
  343.                             _SetDSequenceAccuracy
  344.                             MOVEQ    #$34,D0
  345.                             DC.W         $AAA3        ; TB 02A3
  346.                             ENDM
  347.  
  348.                             MACRO
  349.                             _SetDSequenceSrcRect
  350.                             MOVEQ    #$35,D0
  351.                             DC.W         $AAA3        ; TB 02A3
  352.                             ENDM
  353.  
  354.                             MACRO
  355.                             _GetDSequenceImageBuffer
  356.                             MOVEQ    #$15,D0
  357.                             DC.W         $AAA3        ; TB 02A3
  358.                             ENDM
  359.  
  360.                             MACRO
  361.                             _GetDSequenceScreenBuffer
  362.                             MOVEQ    #$16,D0
  363.                             DC.W         $AAA3        ; TB 02A3
  364.                             ENDM
  365.  
  366.                             MACRO
  367.                             _SetCSequenceQuality
  368.                             MOVEQ    #$17,D0
  369.                             DC.W         $AAA3        ; TB 02A3
  370.                             ENDM
  371.  
  372.                             MACRO
  373.                             _SetCSequencePrev
  374.                             MOVEQ    #$18,D0
  375.                             DC.W         $AAA3        ; TB 02A3
  376.                             ENDM
  377.  
  378.                             MACRO
  379.                             _SetCSequenceFlushProc
  380.                             MOVEQ    #$33,D0
  381.                             DC.W         $AAA3        ; TB 02A3
  382.                             ENDM
  383.  
  384.                             MACRO
  385.                             _SetCSequenceKeyFrameRate
  386.                             MOVEQ    #$36,D0
  387.                             DC.W         $AAA3        ; TB 02A3
  388.                             ENDM
  389.  
  390.                             MACRO
  391.                             _GetCSequenceKeyFrameRate
  392.                             MOVE.L    #$0008004A,D0
  393.                             DC.W         $AAA3        ; TB 02A3
  394.                             ENDM
  395.  
  396.                             MACRO
  397.                             _GetCSequencePrevBuffer
  398.                             MOVEQ    #$19,D0
  399.                             DC.W         $AAA3        ; TB 02A3
  400.                             ENDM
  401.  
  402.                             MACRO
  403.                             _CDSequenceBusy
  404.                             MOVEQ    #$1A,D0
  405.                             DC.W         $AAA3        ; TB 02A3
  406.                             ENDM
  407.  
  408.                             MACRO
  409.                             _CDSequenceEnd
  410.                             MOVEQ    #$1B,D0
  411.                             DC.W         $AAA3        ; TB 02A3
  412.                             ENDM
  413.  
  414.                             MACRO
  415.                             _GetCompressedImageSize
  416.                             MOVEQ    #$1C,D0
  417.                             DC.W         $AAA3        ; TB 02A3
  418.                             ENDM
  419.  
  420.                             MACRO
  421.                             _GetSimilarity
  422.                             MOVEQ    #$1D,D0
  423.                             DC.W         $AAA3        ; TB 02A3
  424.                             ENDM
  425.  
  426.                             MACRO
  427.                             _GetImageDescriptionCTable
  428.                             MOVEQ    #$1E,D0
  429.                             DC.W         $AAA3        ; TB 02A3
  430.                             ENDM
  431.  
  432.                             MACRO
  433.                             _SetImageDescriptionCTable
  434.                             MOVEQ    #$1F,D0
  435.                             DC.W         $AAA3        ; TB 02A3
  436.                             ENDM
  437.  
  438.                             MACRO
  439.                             _GetImageDescriptionExtension
  440.                             MOVEQ    #$20,D0
  441.                             DC.W         $AAA3        ; TB 02A3
  442.                             ENDM
  443.  
  444.                             MACRO
  445.                             _RemoveImageDescriptionExtension
  446.                             MOVE.L    #$000C003A,D0
  447.                             DC.W         $AAA3        ; TB 02A3
  448.                             ENDM
  449.  
  450.                             MACRO
  451.                             _CountImageDescriptionExtensionType
  452.                             MOVE.L    #$000C003B,D0
  453.                             DC.W         $AAA3        ; TB 02A3
  454.                             ENDM
  455.  
  456.                             MACRO
  457.                             _GetNextImageDescriptionExtensionType
  458.                             MOVE.L    #$0008003C,D0
  459.                             DC.W         $AAA3        ; TB 02A3
  460.                             ENDM
  461.  
  462.                             MACRO
  463.                             _SetImageDescriptionExtension
  464.                             MOVEQ    #$21,D0
  465.                             DC.W         $AAA3        ; TB 02A3
  466.                             ENDM
  467.  
  468.                             MACRO
  469.                             _FindCodec
  470.                             MOVEQ    #$23,D0
  471.                             DC.W         $AAA3        ; TB 02A3
  472.                             ENDM
  473.  
  474.                             MACRO
  475.                             _CompressPicture
  476.                             MOVEQ    #$24,D0
  477.                             DC.W         $AAA3        ; TB 02A3
  478.                             ENDM
  479.  
  480.                             MACRO
  481.                             _FCompressPicture
  482.                             MOVEQ    #$25,D0
  483.                             DC.W         $AAA3        ; TB 02A3
  484.                             ENDM
  485.  
  486.                             MACRO
  487.                             _CompressPictureFile
  488.                             MOVEQ    #$26,D0
  489.                             DC.W         $AAA3        ; TB 02A3
  490.                             ENDM
  491.  
  492.                             MACRO
  493.                             _FCompressPictureFile
  494.                             MOVEQ    #$27,D0
  495.                             DC.W         $AAA3        ; TB 02A3
  496.                             ENDM
  497.  
  498.                             MACRO
  499.                             _GetPictureFileHeader
  500.                             MOVEQ    #$28,D0
  501.                             DC.W         $AAA3        ; TB 02A3
  502.                             ENDM
  503.  
  504.                             MACRO
  505.                             _DrawPictureFile
  506.                             MOVEQ    #$29,D0
  507.                             DC.W         $AAA3        ; TB 02A3
  508.                             ENDM
  509.  
  510.                             MACRO
  511.                             _DrawTrimmedPicture
  512.                             MOVEQ    #$2E,D0
  513.                             DC.W         $AAA3        ; TB 02A3
  514.                             ENDM
  515.  
  516.                             MACRO
  517.                             _DrawTrimmedPictureFile
  518.                             MOVEQ    #$2F,D0
  519.                             DC.W         $AAA3        ; TB 02A3
  520.                             ENDM
  521.  
  522.                             MACRO
  523.                             _MakeThumbnailFromPicture
  524.                             MOVEQ    #$2A,D0
  525.                             DC.W         $AAA3        ; TB 02A3
  526.                             ENDM
  527.  
  528.                             MACRO
  529.                             _MakeThumbnailFromPictureFile
  530.                             MOVEQ    #$2B,D0
  531.                             DC.W         $AAA3        ; TB 02A3
  532.                             ENDM
  533.  
  534.                             MACRO
  535.                             _MakeThumbnailFromPixMap
  536.                             MOVEQ    #$2C,D0
  537.                             DC.W         $AAA3        ; TB 02A3
  538.                             ENDM
  539.  
  540.                             MACRO
  541.                             _TrimImage
  542.                             MOVEQ    #$2D,D0
  543.                             DC.W         $AAA3        ; TB 02A3
  544.                             ENDM
  545.  
  546.                             MACRO
  547.                             _ConvertImage
  548.                             MOVEQ    #$30,D0
  549.                             DC.W         $AAA3        ; TB 02A3
  550.                             ENDM
  551.  
  552.                             MACRO
  553.                             _StdPix
  554.                             MOVEQ    #$c,D0
  555.                             DC.W         $AAA3        ; TB 02A3
  556.                             ENDM
  557.  
  558.                             MACRO
  559.                             _GetCompressedPixMapInfo
  560.                             MOVEQ    #$37,D0
  561.                             DC.W         $AAA3        ; TB 02A3
  562.                             ENDM
  563.  
  564.                             MACRO
  565.                             _SetCompressedPixMapInfo
  566.                             MOVEQ    #$38,D0
  567.                             DC.W         $AAA3        ; TB 02A3
  568.                             ENDM
  569.  
  570.                             MACRO
  571.                             _AlignScreenRect
  572.                             MOVE.L    #$0004004B,D0
  573.                             DC.W         $AAA3        ; TB 02A3
  574.                             ENDM
  575.  
  576.                             MACRO
  577.                             _AlignWindow
  578.                             MOVE.L    #$000A004C,D0
  579.                             DC.W         $AAA3        ; TB 02A3
  580.                             ENDM
  581.  
  582.                             MACRO
  583.                             _DragAlignedWindow
  584.                             MOVE.L    #$00010004D,D0
  585.                             DC.W         $AAA3        ; TB 02A3
  586.                             ENDM
  587.  
  588.                             MACRO
  589.                             _DragAlignedGrayRgn
  590.                             MOVE.L    #$001A004E,D0
  591.                             DC.W         $AAA3        ; TB 02A3
  592.                             ENDM
  593.  
  594. identityMatrixType            EQU         $00              ; result if matrix is identity
  595. translateMatrixType            EQU         $01              ; result if matrix translates
  596. scaleMatrixType                EQU         $02              ; result if matrix scales
  597. scaleTranslateMatrixType    EQU         $03              ; result if matrix scales and translates
  598. linearMatrixType            EQU         $04              ; result if matrix is general 2 x 2
  599. linearTranslateMatrixType    EQU         $05              ; result if matrix is general 2 x 2 and translates
  600. perspectiveMatrixType        EQU         $06              ; result if matrix is general 3 x 3
  601.  
  602.                             MACRO
  603.                             _GetMatrixType
  604.                             MOVEQ        #$14,D0
  605.                             DC.W         $ABC2        ; TB 03C2
  606.                             ENDM
  607.  
  608.                             MACRO
  609.                             _CopyMatrix
  610.                             MOVEQ        #$20,D0
  611.                             DC.W         $ABC2        ; TB 03C2
  612.                             ENDM
  613.  
  614.                             MACRO
  615.                             _EqualMatrix
  616.                             MOVEQ        #$21,D0
  617.                             DC.W         $ABC2        ; TB 03C2
  618.                             ENDM
  619.  
  620.                             MACRO
  621.                             _SetIdentityMatrix
  622.                             MOVEQ        #$15,D0
  623.                             DC.W         $ABC2        ; TB 03C2
  624.                             ENDM
  625.  
  626.                             MACRO
  627.                             _TranslateMatrix
  628.                             MOVEQ        #$19,D0
  629.                             DC.W         $ABC2        ; TB 03C2
  630.                             ENDM
  631.  
  632.                             MACRO
  633.                             _RotateMatrix
  634.                             MOVEQ        #$16,D0
  635.                             DC.W         $ABC2        ; TB 03C2
  636.                             ENDM
  637.  
  638.                             MACRO
  639.                             _ScaleMatrix
  640.                             MOVEQ        #$17,D0
  641.                             DC.W         $ABC2        ; TB 03C2
  642.                             ENDM
  643.  
  644.                             MACRO
  645.                             _SkewMatrix
  646.                             MOVEQ        #$18,D0
  647.                             DC.W         $ABC2        ; TB 03C2
  648.                             ENDM
  649.  
  650.                             MACRO
  651.                             _TransformFixedPoints
  652.                             MOVEQ        #$22,D0
  653.                             DC.W         $ABC2        ; TB 03C2
  654.                             ENDM
  655.  
  656.                             MACRO
  657.                             _TransformPoints
  658.                             MOVEQ        #$23,D0
  659.                             DC.W         $ABC2        ; TB 03C2
  660.                             ENDM
  661.  
  662.                             MACRO
  663.                             _TransformFixedRect
  664.                             MOVEQ        #$24,D0
  665.                             DC.W         $ABC2        ; TB 03C2
  666.                             ENDM
  667.  
  668.                             MACRO
  669.                             _TransformRect
  670.                             MOVEQ        #$25,D0
  671.                             DC.W         $ABC2        ; TB 03C2
  672.                             ENDM
  673.  
  674.                             MACRO
  675.                             _TransformRgn
  676.                             MOVEQ        #$39,D0
  677.                             DC.W         $AAA3        ; TB 02A3
  678.                             ENDM
  679.  
  680.                             MACRO
  681.                             _InverseMatrix
  682.                             MOVEQ        #$1C,D0
  683.                             DC.W         $ABC2        ; TB 03C2
  684.                             ENDM
  685.  
  686.                             MACRO
  687.                             _ConcatMatrix
  688.                             MOVEQ        #$1B,D0
  689.                             DC.W         $ABC2        ; TB 03C2
  690.                             ENDM
  691.  
  692.                             MACRO
  693.                             _RectMatrix
  694.                             MOVEQ        #$1E,D0
  695.                             DC.W         $ABC2        ; TB 03C2
  696.                             ENDM
  697.  
  698.                             MACRO
  699.                             _MapMatrix
  700.                             MOVEQ        #$1D,D0
  701.                             DC.W         $ABC2        ; TB 03C2
  702.                             ENDM
  703.  
  704.  
  705.                             MACRO
  706.                            _SFGetFilePreview
  707.                            MOVE.W    #65,D0    
  708.                            DC.W      $AAA3
  709.                            ENDM
  710.  
  711.                            MACRO
  712.                            _SFPGetFilePreview
  713.                            MOVE.W    #66,D0    
  714.                            DC.W      $AAA3
  715.                            ENDM
  716.  
  717.                            MACRO
  718.                            _StandardGetFilePreview
  719.                            MOVE.W    #67,D0    
  720.                            DC.W      $AAA3
  721.                            ENDM
  722.  
  723.                            MACRO
  724.                            _CustomGetFilePreview
  725.                            MOVE.W    #68,D0    
  726.                            DC.W      $AAA3
  727.                            ENDM
  728.  
  729.                            MACRO
  730.                            _MakeFilePreview
  731.                            MOVE.W    #69,D0    
  732.                            DC.W      $AAA3
  733.                            ENDM
  734.  
  735.                            MACRO
  736.                            _AddFilePreview
  737.                            MOVE.W    #70,D0    
  738.                            DC.W      $AAA3
  739.                            ENDM
  740.  
  741.  
  742. sfpItemPreviewAreaUser        EQU        11
  743. sfpItemPreviewStaticText    EQU        12
  744. sfpItemPreviewDividerUser    EQU        13
  745. sfpItemCreatePreviewButton    EQU        14
  746. sfpItemShowPreviewButton    EQU        15
  747.  
  748. PreviewResourceRecord       RECORD   0
  749. modDate                        DS.L     1
  750. version                        DS.W     1
  751. resType                        DS.L     1
  752. resID                        DS.W     1
  753. size                        EQU      *
  754.                             ENDR
  755.  
  756.                             ENDIF    ;   ...already included